A typical computer system includes at least a microprocessor and some form of memory. The microprocessor has, among other components, arithmetic, logic, and control circuitry that interpret and execute instructions necessary for the operation and use of the computer system. FIG. 1 shows a typical computer system (10) having a microprocessor (12), memory (14), integrated circuits (16) that have various functionalities, and communication paths (18), i.e., buses and wires, that are necessary for the transfer of data among the aforementioned components of the computer system (10).
The various computations and operations performed by the computer system are facilitated through the use of signals that provide electrical pathways for data to propagate between the various components of the computer system. In a general sense, the passing of data onto a signal may occur by either raising the voltage of the signal or reducing the voltage of the signal. When the voltage is raised, the signal is said to be at a xe2x80x9clogic high,xe2x80x9d and when the voltage is reduced, the signal is said to be at a xe2x80x9clogic low.xe2x80x9d Changes in the voltage value of a signal are accomplished by charging and discharging capacitors associated with the signal wire on which the signal resides. A capacitor with a potential difference across its terminals is considered to be a charged capacitor, and a capacitor with no potential difference across its terminals is considered to be a discharged capacitor. Therefore, a charging event is described as a process by which potential difference is created across the terminals of a capacitor by delivering charge to the capacitor. A discharging event is described as a process by which the potential difference across the terminals of a capacitor is removed by removing the charge stored in the capacitor.
Because signals within an integrated circuit are often in close proximity to each other, there is a propensity for the behavior of one signal to affect the behavior of another signal. This occurs due to intrinsic capacitances (also referred to and known as xe2x80x9ccross-coupling capacitancexe2x80x9d) that develop between signals at different logic levels. For example, some amount of cross-coupling capacitance is likely to develop between two signals that are relatively close together, where one signal is at a logic high and the other is at a logic low. When one of the signals switches state, noise may be injected on the other signal, causing the other signal to glitch, i.e., an electrical spike occurs. Such undesired behavior on the non-switching signal may lead to performance degradation because the noise injected on the non-switching signal can propagate to other parts of the processor causing timing failures and/or circuit malfunction.
An approach that designers have used to combat such cross-coupling capacitance induced behavior involves the use of wires to xe2x80x9cshieldxe2x80x9d a signal from other signals. The purpose of shielding is to place wires next to the signal wire that do not make any transitions. To this end, FIG. 2 shows a typical signal shield implementation. In FIG. 2, a logic stage (20) outputs a signal (22) that is shielded by a first wire (24) and a second wire (26), where the first wire (24) is operatively connected to logic high, i.e., a voltage source (28), and the second wire (26) is operatively connected to logic low, i.e., ground (30). The logic stage (20) is also connected to power supply terminals (36, 38); however, the power supply terminals (36, 38) of the logic stage (20) may be different from the power supply terminals (28, 30) of the shield wires (24, 26). In any event, the placement of the shield wires (24, 26) creates capacitances (32, 34) between the respective shield wires (24, 26) and the signal wire (22). In sum, because of such a signal shield implementation, other signals in close proximity to the signal (22) are not affected by the switching behavior of the signal (22) due to the fact that the signal (22) is shielded by wires (24, 26) that have constant values when the signal (22) switches state.
Referring now to FIG. 2b, when the signal (22) transitions from low to high, charge is delivered from the power supply terminal (36) of the logic gate (20) to the signal (22) and on to the second wire (26). As shown by the charge paths in FIG. 2b, charge flows through the capacitors (34) between the signal (22) and the second wire (26) to the ground terminal (30) of the second wire (26). Thus, in effect, the capacitors (34) between the signal (22) and the second wire (26) get charged. Alternatively, as shown by the discharge paths in FIG. 2b, the delivery of charge to the signal (22) causes the capacitors (32) between the signal (22) and the first wire (24) to discharge due to the capacitors (32) getting subjected to equal voltage terminals.
Referring now to FIG. 2c, when the signal (22) transitions from high to low, charge is delivered from the power supply terminal (28) of the first wire (28) to the signal (22) and to the ground terminal (38) of the logic gate (20). As shown by the charge paths in FIG. 2c, charge flows through the capacitors (32) between the first wire (24) and the signal (22) to the ground terminal (38) of the logic gate (20). Thus, in effect, the capacitors (32) between the first wire (24) and the signal (22) get charged. Alternatively, as shown by the discharge paths in FIG. 2c, the delivery of charge to the signal (22) causes the capacitors (34) between the signal (22) and the second wire (26) to discharge due to the capacitors (34) getting subjected to equal voltage terminals.
The charging events described above in the discussions with reference to FIGS. 2b and 2c involve charging events. Such charging event can cause power supply collapse. Power supply collapse, in addition to increasing the chances for power supply failure/malfunction, may adversely affect performance by increasing power consumption and/or by increasing propagation time along the signal (22). Thus, there is a need for reducing power supply collapse due to signal shielding.
According to one aspect of the present invention, an integrated circuit comprises pre-charge based circuitry that drives a signal, and a first wire having a voltage potential substantially equal to a final voltage potential of a dominant transition on the signal, where the first wire shields the signal.
According to another aspect, an integrated circuit comprises driving means for driving a value onto a signal and shielding means for shielding the signal such that the driving means participates in more discharge events than charging events.
According to another aspect, a method for assigning signal shields comprises determining a dominant switching direction of a signal, where the signal is driven by pre-charge based circuitry; and assigning a voltage potential to a first wire, where the voltage potential is substantially equal to a voltage potential of the signal after the signal transitions in the dominant switching direction, and where the first wire shields the signal.
Other aspects and advantages of the invention will be apparent from the following description and the appended claims.